#ifndef INCLUDED_NTENGINE_GRAPHICS_PIPELINE_H
#define INCLUDED_NTENGINE_GRAPHICS_PIPELINE_H

namespace NTEngine {
namespace Graphics {

class Pipeline {
public:
	static Pipeline create( const char* filename );

	Pipeline();
	~Pipeline();
	Pipeline( const Pipeline& );
	void release();
	Pipeline& operator=( const Pipeline& );
	bool operator==( const Pipeline& ) const;
	bool operator!=( const Pipeline& ) const;
	bool operator<( const Pipeline& ) const;
	int referenceCount() const;
	operator void*() const;
	class Impl;
	Pipeline( const Impl* );
private:
	friend class Manager;
	Impl* m_Impl;
};

} // namespace Graphics
} // namespace NTEngine

#endif // INCLUDED_NTENGINE_GRAPHICS_PIPELINE_H
// EOF